package com.daqsoft.dao.project;

import com.daqsoft.data.User;
import com.daqsoft.data.project.Project;
import com.daqsoft.dto.StatusEnum;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.web.PageableDefault;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 项目管理DAO
 * @author 周麟东 on 10:16
 */
@Repository
public interface ProjectDao extends JpaRepository<Project,Integer>{
    /**
     * 通过项目经理查询其所有项目
     * @param pm 项目经理
     * @return 返回该项目经理的所有项目
     */
    List<Project> findProjectByPm(User pm);

    /**
     * 通过项目状态获取一个项目
     * @return 项目
     */
    Project getFirstByStatus (StatusEnum statusEnum);

    /**
     * 通过状态获取所有项目
     * @param statusEnum 状态
     * @return 项目列表
     */
    List<Project> getByStatus(StatusEnum statusEnum);
}
